#include <stdio.h>
#include <unistd.h>

int main() {

    printf("begin\n");

    if(fork() > 0) {

        printf("我是父进程：pid = %d, ppid = %d\n", getpid(), getppid());

        int i;
        for(i = 0; i < 10; i++) {
            printf("i = %d\n", i);
            sleep(1);
        }

    } else {

        printf("我是子进程：pid = %d, ppid = %d\n", getpid(), getppid());
        
        int j;
        for(j = 0; j < 10; j++) {
            printf("j = %d\n", j);
            sleep(1);
        }

    }

    return 0;
}

//一开始子进程抢到时间片，打印pid，输出j=0；然后父进程抢到时间片，打印pid，遇到断点（b 10   b20，在第十行和第二十行设置断点。默认设置是跟踪父进程，所以在第十行打断），停下。
//子进程则继续，j=1,j=2,...
//按n（next)调试则显示父进程接下来的代码。按c（continue）继续